package br.com.android.aluno.view;

import java.io.File;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import br.com.android.aluno.dao.AlunoDao;
import br.com.android.aluno.model.Aluno;
import br.com.android.aluno.util.Constantes;
import br.com.android.aluno.util.UtilFile;

public class CadastrarActivity extends FormularioActivity {

	// Constantes
    public static final String ALUNO_INFO = "aluno_info";
    	
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    }
    
    @Override
    protected void onDestroy() {
    	super.onDestroy();
    }
    
    public void onClick(View v) {
		if(v == getBtSalvar()){ // Verifica se o evento do botao clicado foi gerado pelo botao salvar
			
			Aluno aluno = getAluno();
			
			// Mostra os dados no aluno no LogCat
//			Log.d("aluno", aluno.toString());
			
			// Salva o aluno no banco de dados
			AlunoDao alunoDao = new AlunoDao(this);
			long resp = alunoDao.salvar(aluno);
			aluno.setId((int) resp);
			
			if(resp != -1){
				// Mostra uma mensagem na tela
				Toast.makeText(CadastrarActivity.this, "Aluno salvo com sucesso: " + aluno.getNome(), Toast.LENGTH_LONG).show();
			} else{
				Toast.makeText(CadastrarActivity.this, "Erro ao salvar o Aluno: " + aluno.getNome(), Toast.LENGTH_LONG).show();
			}

			// Renomeia o nome do arquivo
			File pathImg = renomeiaFoto(aluno);
			
			// Atualiza os dados do aluno no banco para adicionar o path da imagem
			aluno.setFotoPath(pathImg);
			alunoDao.atualizar(aluno);
			
			// finaliza essa activity
			finish();
			
		} else if(v == getIvFoto()){
			
			Intent it = new Intent("android.media.action.IMAGE_CAPTURE");
			startActivityForResult(it, 101);
			
		}
	}
	
	@Override
	protected void onRestoreInstanceState(Bundle savedInstanceState) {
		super.onRestoreInstanceState(savedInstanceState);
		
		// Ao mudar de tela, recarrega a imagem na view 
		if(Constantes.TEMP_FILE_IMG.exists()){
			getIvFoto().setImageBitmap(UtilFile.decodeFile(Constantes.TEMP_FILE_IMG));
		}
	}
}
